package day02.practice;

import day02.Student;

import java.util.Comparator;
import java.util.Scanner;
import java.util.TreeSet;

/*
 *文件名: TreSetPractice
 *创建者:
 *创建时间:2025/5/20 16:33
 *描述:
 */
public class TreSetPractice {
    public static void main(String[] args) {
        /**
         * 1.创建一个TreeSet集合，存储Person对象，并按照年龄进行排序，年龄相同按姓名
         * 2.Scanner对象，监听键盘录入
         * 3.开启for循环，循环三次
         * 4.每个循环中
         * --提示用户依次录入姓名，语文，数学，英语
         * --创建Person对象，把键盘录入的数据封装到Person对象中
         * --把Person对象添加到TreeSet集合中
         *
         * 5.遍历TreeSet集合，打印数据
         */

        TreeSet<Person> ts = new TreeSet<>(new Comparator<Person>() {
            @Override
            public int compare(Person o1, Person o2) {
                return (int) (o2.getMath()+o2.getChinese()+ o2.getEnglish()- o1.getEnglish()-o1.getMath()- o1.getChinese());
            }
        });
        Scanner sc = new Scanner(System.in);

        for (int i = 0; i < 3; i++) {

            System.out.println("请输入第"+(i+1)+"个学生信息：");

            System.out.println("请输入姓名:");
            String name = sc.next()  ; //录入中间不能有空格

            System.out.println("请输入语文成绩：");
            double chinese = sc.nextDouble();

            System.out.println("请输入数学成绩：");
            double math = sc.nextDouble();

            System.out.println("请输入英语成绩：");
            double english = sc.nextDouble();

            Person p = new Person(name,chinese,math,english);
            //Person封装进TreeSet集合
            ts.add(p);

        }
        //遍历
        for (Person p : ts) {
            System.out.println(p);
        }
    }
}
